//判断数组中是否有重复元素
/**
    给定一个长度为n的数组，并在1-n之间取数，
    判断该数组中是否有重复元素，
    实际上，要想不重复，1-n必须全部出现一次
    那么也就是，判断该数组的和是否=（1+n)*n/2即可
*/

#include <iostream>

using namespace std;


int isRepeat(int arr[] ,int n)
{
    int sum = 0;
    for(int i = 0;i<n;i++)
    {
        sum+=arr[i];
    }
    if(sum == (1+n)*n/2)
    {
        return 1;
    }else
    {
        return 0;
    }
}
int main()
{
    int arr1[8] = {2,5,3,8,1,4,6,7};
    int arr2[8] = {2,5,3,8,3,5,8,8};

    cout<<"arr1="<<isRepeat(arr1,8)<<endl;
    cout<<"arr2="<<isRepeat(arr2,8)<<endl;
    system("pause");
    return 0;
}
